perm filename RUNT.LSP[BNF,JRA]1 blob sn#022409 filedate 1973-02-02 generic text, type T, neo UTF8

(DEFPROP <EXP> 
 (LAMBDA NIL
  (NLRR (QUOTE EXP)
	(FUNCTION
	 (LAMBDA NIL
	  (COND ((AND (<ATOM>)) (STK 0))
		((AND (CH /[) (<REM>) (CH /])) (STK 1))
		((AND (CH /() (<LST>) (CH /))) (STK 1))
		(*NIL*)))))) 
EXPR)

(DEFPROP <LST> 
 (LAMBDA NIL
  (NLRR (QUOTE LST)
	(FUNCTION (LAMBDA NIL (COND ((AND (<EXP>) (<LST>)) (CONS (STK 1) (STK 0))) ((AND) NIL) (*NIL*)))))) 
EXPR)

(DEFPROP <REM> 
 (LAMBDA NIL
  (NLRR (QUOTE REM)
	(FUNCTION
	 (LAMBDA NIL
	  (COND ((AND (SPWD CHOICE) (<ST>)) (CONS (QUOTE *CHOICE) (STK 0)))
		((AND (SPWD EDIT) (<ST>)) (CONS (QUOTE *EDIT) (STK 0)))
		((AND (SPWD CLAUSES) (<CLAUSES>)) (CONS (QUOTE *CL) (STK 0)))
		((AND (SPWD PATTERN) (<F1>)) (CONS (QUOTE *PATTERN) (STK 0)))
		(*NIL*)))))) 
EXPR)

(DEFPROP >EXP< 
 (LAMBDA(%N)
  (OUTRUL %N
	  (FUNCTION
	   (LAMBDA NIL
	    (COND ((>ATOM< 1) (STK1))
		  ((>REM< 1) (LIST (QUOTE (:CH /[)) (STK1) (QUOTE (:CH /]))))
		  ((>LST< 1) (LIST (QUOTE (:CH /()) (STK1) (QUOTE (:CH /)))))))))) 
EXPR)

(DEFPROP >LST< 
 (LAMBDA(%N)
  (OUTRUL %N
	  (FUNCTION
	   (LAMBDA NIL
	    (COND ((EQ (QUOTE NIL) (STK1)) FOOBAZ)
		  ((AND (MATCH (QUOTE (* . *))) (>EXP< 1) (>LST< 0)) (LIST (STK1) (STK0)))))))) 
EXPR)

(DEFPROP >REM< 
 (LAMBDA(%N)
  (OUTRUL %N
	  (FUNCTION
	   (LAMBDA NIL
	    (COND ((AND (MATCH (QUOTE (*CHOICE . *))) (>ST< 0)) (LIST (QUOTE CHOICE) (STK0)))
		  ((AND (MATCH (QUOTE (*EDIT . *))) (>ST< 0)) (LIST (QUOTE EDIT) (STK0)))
		  ((AND (MATCH (QUOTE (*CL . *))) (>CLAUSES< 0)) (LIST (QUOTE CLAUSES) (STK0)))
		  ((AND (MATCH (QUOTE (*PATTERN . *))) (>F1< 0)) (LIST (QUOTE PATTERN) (STK0)))))))) 
EXPR)